//
//  YXToolViewHandler.h
//  YXImageBrowserDemo
//
//  Created by guo peng huang on 2021/5/18.
//

#import "YXSheetView.h"
#import "YXTopView.h"
#import "YXDataProtocol.h"
#import "YXOrientationReceiveProtocol.h"
#import "YXOperateBrowserProtocol.h"

NS_ASSUME_NONNULL_BEGIN

@protocol YXToolViewHandler <YXBaseInfoProtocol, YXOperateBrowserProtocol, YXOrientationReceiveProtocol>

@required

/**
 容器视图准备好了，可进行子视图的添加和布局
 */
- (void)yx_containerViewIsReadied;

/**
 隐藏视图
 
 @param hide 是否隐藏
 */
- (void)yx_hide:(BOOL)hide;

@optional

/// 当前数据
@property (nonatomic, copy) id<YXDataProtocol>(^yx_currentData)(void);

/**
 页码变化了
 */
- (void)yx_pageChanged;

/**
 偏移量变化了

 @param offsetX 当前偏移量
 */
- (void)yx_offsetXChanged:(CGFloat)offsetX;

/**
 响应长按手势
 */
- (void)yx_respondsToLongPress;

@end

@interface YXToolViewHandler : NSObject <YXToolViewHandler>

/// 弹出表单视图
@property (nonatomic, strong, readonly) YXSheetView *sheetView;

/// 顶部显示页码视图
@property (nonatomic, strong, readonly) YXTopView *topView;

@end

NS_ASSUME_NONNULL_END

